package com.indusfo.spc.mapper;

import com.indusfo.spc.pojo.Classe;
import org.apache.ibatis.annotations.Param;

import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;

/**
 * @author: louk
 * @Description:班次信息Mapper
 * @date: 2019/11/15 14:56
 *
 */
public interface ClasseMapper {
    /**
     * 查询班次
     * @param classes
     * @return
     */
    List<Classe> queryClasses(Classe classes);

    /**
     * 更新班次
     * @param classes
     * @return
     */
    int  updateClasses(Classe classes);

    /**
     * 新增班次
     * @param classes
     * @return
     */
    int  insertClasses(Classe classes);

    /**
     * 启用/停用/删除
     * @param lClasses
     * @param lDataState
     * @return
     */
    int  defineClasses(@Param("classes") Integer[] lClasses, @Param("dataState") Integer lDataState);

    /**
     * 查询是否存在
     * @param classes
     * @return
     */
    int   queryIsExist(Classe classes);

    /**
     * 计数
     * @param classes
     * @return
     */
    int countClasses(Classe classes);

    /**
     * 查询指定产线的开始时间和工作时长
     * @param classe
     */
    List<Classe> queryStartDateAndWorkhour(Classe classe);

    /**
     * 查询是否与当前产线下的其他班次发生冲突
     * @param classe
     * @return
     */
    int queryConflict(Classe classe);

    /**
     * 通过产线获取到信息
     * @param classe
     * @return
     */
    List<Classe> queryListByProductline(Classe classe);

    int queryByProductlineIds(@Param("productlineIds") Long[] productlineIds);

    /**
     * 通过班次id来查询
     * @param classeId
     * @return
     */
    Classe queryClassesByClasseId(@Param("classeId") Integer classeId);
}